"""
难度：简单
输入一个整数数组，实现一个函数来调整该数组中数字的顺序，
使得所有奇数在数组的前半部分，所有偶数在数组的后半部分。
示例：
输入：nums = [1,2,3,4]
输出：[1,3,2,4] 
注：[3,1,2,4] 也是正确的答案之一。
"""

"""
定义快慢指针 slow、fast，开始时都指向 0。
fast 向前搜索奇数位置，slow 指向下一个奇数应当存放的位置。
fast 不断进行右移，当遇到奇数时，将该奇数与 slow 指向的元素进行交换，并将 slow 进行右移。
重复上面操作，直到 fast 指向数组末尾。
"""
from typing import List


class Solution:
    def exchange(self, nums: List[int]) -> List[int]:
        slow, fast = 0,0
        while fast < len(nums):
            if nums[fast] % 2 ==1:
                nums[slow], nums[fast] = nums[fast], nums[slow]
                slow += 1
            fast +=1
            
        return nums